package com.linkgie.galaxyframework.data;

/**
 * 领域隔离性提供者；
 * <p>
 * 
 * 定义并提供不同领域的隔离性的关键字；
 * 
 * @author huanghaiquan
 *
 */
public interface IsolationProvider {

	/**
	 * 提供者名称；
	 * 
	 * @return
	 */
	String getName();

	/**
	 * 隔离域；
	 * <p>
	 * 
	 * 表示附加到持久化对象的用于标记隔离区间的额外字段；
	 * 
	 * @return
	 */
	String getDomainKey();


	/**
	 * 领域隔离器;
	 * 
	 * <p>
	 * 根据上下文的状态，指示当前访问的数据隔离分区(partition);
	 * 
	 * @return
	 */
	IsolationIndicator getIsolationIndicator();

}
